#ifndef	_COMMON_H_
#define	_COMMON_H_
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdint.h>
#include <stdbool.h>
#include <errno.h>

#include <unistd.h>
#include <signal.h>
#include <time.h>
#include <dirent.h>
#include <limits.h>
#include <shadow.h>
#include <crypt.h>
#include <fcntl.h>
#include <pwd.h>
#include <netdb.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <sys/stat.h>
#include <sys/types.h>
//这个需要内核加载capability模块的支持
//#include <linux/capability.h>
#include <sys/capability.h>
#include <ifaddrs.h>
#define	ERR_EXIT(m) \
	do \
	{ \
		perror(m); \
		exit(EXIT_FAILURE); \
	} while(0)

#ifdef _DEBUG
#define	DEBUG_PRINT(...) \
	({ \
		printf("////// debug info in file %s line %d //////\n", \
				__FILE__,__LINE__); \
		printf(__VA_ARGS__); \
	})
#else
#define	DEBUG_PRINT(...)
#endif

#define	MAX_COMMAND_LINE 1024
#define	MAX_COMMAND 32
#define	MAX_ARG 1024

#define	MAX_SET_LINE 1024
#define	MINIFTP_CONF "miniftpd.conf"

#endif

